package com.cyt.work.wb.service;


import com.cyt.base.model.dto.ReturnResult;
import com.cyt.sys.model.po.SysUser;
import com.cyt.sys.service.BaseService;
import com.cyt.work.wb.model.po.WbCheckCode;
import com.cyt.work.wb.model.vo.WbCheckCodeVo;

import java.util.List;

/**
 * 网站模块-验证码service接口
 */
public interface WbCheckCodeService extends BaseService<WbCheckCode> {

    /**
     * 分页查询
     *
     * @param webCheckCodeVo 对象
     * @param pageSize 当前页面
     * @param pageNum 页面数量
     * @return ReturnEntity 对象
     */
    ReturnResult page(WbCheckCodeVo webCheckCodeVo, int pageSize, int pageNum);

    /**
     * 修改
     *
     * @param webCheckCodeVo 对象
     * @param currentUser 当前用户
     * @return ReturnEntity 对象
     */

    ReturnResult addOrUpdate(WbCheckCodeVo webCheckCodeVo, SysUser currentUser);

    /**
     * 删除
     *
     * @param id 主键id删除
     * @param currentUser 当前用户
     * @return ReturnEntity 对象
     */
    ReturnResult delete(String id, SysUser currentUser);

    /**
     * 获取集合
     *
     * @param webCheckCodeVo 对象
     * @return List<WebCheckCode> WebCheckCode集合
     */
    List<WbCheckCode> acceptList(WbCheckCodeVo webCheckCodeVo);

    /**
     * 校验验证码
     * @param phone
     * @param code
     * @author congcong tao
     * @date 2019/9/25 8:41
     */
    ReturnResult checkCode(String phone, String code);

    /**
     * 查询1分钟内短信发送次数
     * @param phone
     * @author congcong tao
     * @date 2019/12/4 9:14
     */
    Integer selectMinuteCountByPhone(String phone);
}
